package com.hzz.dto.examine;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;

import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("目标考核-考核指标详细 DTO")
public class ExamineTargetDetailDto extends BaseDto {
    /** id */
    Long id;
    /** 考核指标表ID */
	@NotNull(message="targetId不能为空")
    Long targetId;
    /** 考核指标名称 */
	@NotNull(message="name不能为空")@Size(max=55,message="name最大55字符")
    String name;
	/** 指标考核类型(政策制度；水资源保护；岸线保护和防汛安全；水环境整治；执法监管；否决条款；附加分项；水污染防治；水生态修复) */
	@NotNull(message="examineType不能为空")
	String examineType;
    /** 评价类别1自动评分；2人工评分） */
	@NotNull(message="scoreType不能为空")
    Integer scoreType;
    /** 标准分 */
	@NotNull(message="normScore不能为空")
    BigDecimal normScore;
    /** 考核内容 */
	@NotNull(message="content不能为空")@Size(max=1024,message="content最大1024字符")
    String content;
    /** 考核打分细则 */
	@NotNull(message="gradeDetail不能为空")@Size(max=1024,message="gradeDetail最大1024字符")
    String gradeDetail;
    /** 考核项排序号 */
	@NotNull(message="sequence不能为空")@Size(max=32,message="sequence最大32字符")
    String sequence;
    /** 备注 */
	@Size(max=255,message="memo最大255字符")
    String memo;
    /** 删除标记 */
    Integer delFlag;
    /** 建立者id */
    Long createId;
    /** 更新时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;
    /** 创建时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;

}
